#ifndef EMOTION_H
#define EMOTION_H

#include "Common/MoveableItem.h"

class EmotionType{
public:
	enum Enum{
	None = 0,
	Smile1,
	Smile2,
	Smile3,
	Smile4,
	Smile5,
	Smile6,
	Smile7,
	Smile8,
	Smile9,
	Smile10,
	EmotionsCount
	};

	Enum _type;

	EmotionType(Enum type = None){
		_type = type;
	}
	EmotionType(int type){
		_type = (Enum)type;
	}
	QString getRes(){
		switch(_type){
			case None: return ""; break;
			case Smile1: return ":/images/smiles/happy-1.png"; break;
			case Smile2: return ":/images/smiles/fun.png"; break;
			case Smile3: return ":/images/smiles/dazzled.png"; break;
			case Smile4: return ":/images/smiles/follow-sign.png"; break;
			case Smile5: return ":/images/smiles/he-he.png"; break;
			case Smile6: return ":/images/smiles/laughter.png"; break;
			case Smile7: return ":/images/smiles/make-fun.png"; break;
			case Smile8: return ":/images/smiles/uhh.png"; break;
			case Smile9: return ":/images/smiles/sad-4.png"; break;
			case Smile10: return ":/images/smiles/whoa.png"; break;
		}
	}
	QColor getColor(){
		switch(_type){
			case None: return QColor(202,235,248); break;
			case Smile1: return QColor(25,255,255); break;
			case Smile2: return QColor(255,25,25); break;
			default: return QColor(202,235,248); break;
		}
	}
};

class Emotion : public MoveableItem
{
	EmotionType _type;
	bool _extended;

public:
	Emotion(QWidget* parent = NULL);
	void setEmotion(EmotionType type);
	bool isExtended();
	void setExtended(bool extend);
	EmotionType type();

protected:
	void paintEvent(QPaintEvent* event);
};

#endif // EMOTION_H
